package cn.iune.erp.invoice;

import java.util.Map;

import com.itextpdf.text.Document;

import cn.iune.erp.inventory.StorageRecord;



public interface IInvoiceService {

	Map<String, Object> accountInvoiceActive(String rowID);

	Map<String, Object> accountInvoiceUnAgree(String rowID);

	int accountInvoiceClose(String rowID);

	int accountInvoiceOpen(String rowID);


	


//	AccountInvoice accountInvoiceXSFPBuild(JSONObject params);

	void accountInvoicePrintPDF(String fID, Document doc) throws Exception;

	void accountInvoiceQTYFPrintPDF(String fID, Document doc) throws Exception;

	Map<String, Object> accountInvoiceAgreeIt(String rowID, String tUsercode, String tUsername, String userId,
			String employeeNo, String employeeName);

	Map<String, Object> accountInvoiceConfirm(String rowID, String tUsercode, String tUsername, String userId,
			String employeeNo, String employeeName);

	void afterInsertInvoiceDetail(AccountInvoiceDetail obj);

	void beforeDeleteInvoiceDetail(String fID);

	void afterInsertInvoice(AccountInvoice obj);

	void beforeDeleteInvoice(String fID);

	void beforeUpdateInvoice(AccountInvoice obj) throws IllegalArgumentException, IllegalAccessException;

	void afterUpdateInvoice(AccountInvoice obj);

	int accountInvoiceDelete(AccountInvoice accountInvoice);

	AccountInvoice accountInvoiceInsert(StorageRecord storageRecord, int flowType, int cashSettle, String cUsercode,
			String cUsername, String userId, String employeeNo, String employeeName);















}